If you need to compute MD5 digest strings for files or messages in your
projects, this stuff might be useful. Remember, though, that I can give
you NO WARRANTIES at all (this package is provided "as is").

Files in this package:

aamd532.dll - DLL implementing RSA MD5 digest algorithm
MD5.bas - A VB MODULE wrapper for the RSA MD5 DLL
 Wrapper Functions:
   MD5String (some string) -> MD5 digest of the given string as 32 bytes string
   MD5File (some filename) -> MD5 digest of the file's content as a 32 bytes string
      returns a null terminated "FILE NOT FOUND" if unable to open the
      given filename for input
read-me.txt - this file
Rivest-MD5.txt - original text and C source code from RSA

To install and use:

1. Unpack the files.
2. Copy the DLL of your choice to somewhere in your search path, so
   that your applications can find it.
   IMPORTANT: The aamd532.dll DLL MUST be somewhere in your search path
	      for this to work
3. Insert the BAS module in your VB projects.
4. Call the wrapper functions as needed.

If you don't like VB, or if you need something more elaborate, maybe you should
download md5server.zip, at ftp://nt00.esquadro.com.br/md5server.zip. It's
an ActiveX instantiable object wrapper around the DLL that can be used from
any program, no matter what language you wrote their source code in. This
in process server is also free, and can be part of a DELPHI application,
for instance. MD5Server.zip is a 1.2 MB bundle.

RSA required notices follow.

       The MD5 algorithm is defined in RFC1321.

       The basic C code implementing the algorithm is derived
       from that in the RFC and is covered by the following
       copyright: Copyright (C) 1991-2, RSA Data Security, Inc.
       Created 1991. All rights reserved.
 
       License to copy and use this software is granted provided
       that it is identified as the "RSA Data Security, Inc. MD5
       Message-Digest Algorithm" in all material mentioning or
       referencing this software or this function.
 
       License is also granted to make and use derivative works
       provided that such works are identified as "derived from
       the RSA Data Security, Inc. MD5 Message-Digest Algorithm"
       in all material mentioning or referencing the derived
       work.
 
       RSA Data Security, Inc. makes no representations
       concerning either the merchantability of this software or
       the suitability of this software for any particular
       purpose. It is provided "as is" without express or implied
       warranty of any kind.
 
       These notices must be retained in any copies of any part
       of this documentation and/or software.

This is derived from the RSA Data Security, Inc. MD5 Message-Digest Algorithm

Bugs, questions, suggestions, complaints, etc:
   Francisco Carlos Piragibe de Almeida
   piragibe@esquadro.com.br
